package chapter04

import scala.util.control.Breaks

object Test06_Break {
  def main(args: Array[String]): Unit = {


    //1、采用抛出异常的方式，推出循环
    try{
      for (i <- 0 until 5) {
        if (i == 3) {
          throw new RuntimeException
        }
      }
    } catch {
      case e: Exception => //什么都不做、只是退出循环
    }





    //2、使用Scala中的Breake类的brecks 类的break方法，实现异常的抛出和普抓
    //不包含　until　
    Breaks.breakable(
      for (i <- 0 until 5) {
        if (i == 3) {
          Breaks.break()
          println(i)
        }
      }
    )


    //对 break 进行省略
//    breakable {
//      for (elem <- 1 to 10) {
//        println(elem)
//        if (elem == 5) break
//      }
//    }

    println("正常结束循环")



    //循环遍历 10 以内的所有数据，奇数打印，偶数跳过（continue）
    for (elem <- 1 to 10) {
      if (elem % 2 == 1) {
        println(elem)
      } else {
        println("continue")
      }
    }


    println("这个是循环代码外部的")
  }
}
